shout3d.core
Class Group

java.lang.Object
  |
  +--shout3d.core.Node
        |
        +--shout3d.core.Group
Direct Known Subclasses:
Billboard, Segment, Switch, TouchSensor, Transform

public class Group
extends Node

A Group.


Field Summary
 NodeArrayField children
           
 Node[] defaultChildArray
           
 BooleanField hidden
           
 
Constructor Summary
Group()
          Constructs a default Group
 
Method Summary
 void addChildren(Node[] nodesToAdd)
          Adds children to this Group Node.
 float[] getCameraBBoxMax(Node[] pathToViewpoint, Node[] pathToGroup)
          Returns the current camera-space bounding box max, as an array of 3 values.
 float[] getCameraBBoxMin(Node[] pathToViewpoint, Node[] pathToGroup)
          Returns the current camera-space bounding box min, as an array of 3 values.
 float[] getInverseMatrix()
          Gets the 4x4 matrix equal to the inverse of this Transform.
 float[] getLocalBBoxMax()
          Returns the current local-space bbox max, and array of 3 values
 float[] getLocalBBoxMin()
          Returns the current local-space bbox min, and array of 3 values
 float[] getMatrix()
          Gets the 4x4 matrix that transforms from local to parent space, based on current field values
 float[] getWorldBBoxMax(Node[] pathToGroup)
          Returns the current world-space bounding box min, as an array of 3 values.
 float[] getWorldBBoxMin(Node[] pathToGroup)
          Returns the current world-space bounding box min, as an array of 3 values.
 void removeChildren(Node[] nodesToRemove)
          Removes children from this Group Node.
 
Methods inherited from class shout3d.core.Node
cleanUp, getDEFName, getField, getFieldByIndex, getFieldName, getNumFields, getTypeName, getViewer, isOfType, setDEFName, setViewer
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

defaultChildArray

public final Node[] defaultChildArray

children

public final NodeArrayField children

hidden

public final BooleanField hidden
Constructor Detail

Group

public Group()
Constructs a default Group
Method Detail

getMatrix

public float[] getMatrix()
Gets the 4x4 matrix that transforms from local to parent space, based on current field values
Returns:
the matrix

getInverseMatrix

public float[] getInverseMatrix()
Gets the 4x4 matrix equal to the inverse of this Transform. Transforms from parent to local space, based on current field values.
Returns:
the inverse matrix

addChildren

public void addChildren(Node[] nodesToAdd)
Adds children to this Group Node. This method will only add children that are not already children of the Group.
Parameters:
nodesToAdd - the Nodes to be added

removeChildren

public void removeChildren(Node[] nodesToRemove)
Removes children from this Group Node.
Parameters:
nodesToRemove - the Nodes to be removed

getLocalBBoxMin

public float[] getLocalBBoxMin()
Returns the current local-space bbox min, and array of 3 values

getLocalBBoxMax

public float[] getLocalBBoxMax()
Returns the current local-space bbox max, and array of 3 values

getWorldBBoxMin

public float[] getWorldBBoxMin(Node[] pathToGroup)
Returns the current world-space bounding box min, as an array of 3 values. Transforms the local space bbox by the matrix along the given path. The path should be that path from the root of the scene to this group node.
Parameters:
pathToGroup - a path from the root of the scene to this node
Returns:
the minimum bbox values as an array of 3 values.

getWorldBBoxMax

public float[] getWorldBBoxMax(Node[] pathToGroup)
Returns the current world-space bounding box min, as an array of 3 values. Transforms the local space bbox by the matrix along the given path. The path should be that path from the root of the scene to this group node.
Parameters:
pathToGroup - a path from the root of the scene to this node
Returns:
the minimum bbox values as an array of 3 values.

getCameraBBoxMin

public float[] getCameraBBoxMin(Node[] pathToViewpoint,
                                Node[] pathToGroup)
Returns the current camera-space bounding box min, as an array of 3 values. Transforms the local space bbox by the matrix along the pathToGroup, (from bottom to top), then transforms along pathToCamera (from top to bottom). This has the net effect of transforming the bbox from the space of this node to camera space. The pathToCamera should be the path from the root of the scene to the viewpoint through which the scene is being viewed. The pathToGroup should be the path from the root of the scene to this group node.
Parameters:
pathToViewpoint - a path from the root of the scene to Viewpoint
pathToGroup - a path from the root of the scene to this node
Returns:
the minimum bbox values as an array of 3 values.

getCameraBBoxMax

public float[] getCameraBBoxMax(Node[] pathToViewpoint,
                                Node[] pathToGroup)
Returns the current camera-space bounding box max, as an array of 3 values. Transforms the local space bbox by the matrix along the pathToGroup, (from bottom to top), then transforms along pathToCamera (from top to bottom). This has the net effect of transforming the bbox from the space of this node to camera space. The pathToCamera should be the path from the root of the scene to the viewpoint through which the scene is being viewed. The pathToGroup should be the path from the root of the scene to this group node.
Parameters:
pathToViewpoint - a path from the root of the scene to Viewpoint
pathToGroup - a path from the root of the scene to this node
Returns:
the maximum bbox values as an array of 3 values.